The invention relates to error detection and correction.
Error correction codes (ECCs) have been developed that both detect and correct certain types of errors. One class of ECC algorithm includes the "Hamming code," which is capable of detecting multibit errors and correcting single-bit errors. Another well known ECC algorithm is the "Reed-Solomon code," which is able to correct two-bit errors per word.
In D.C. Bossen, "B-Adjacent Error Correction," IBM J. Res. Develop., pp. 402-408 (July 1970), Reed-Solomon and Hamming type codes are described which are capable of correcting not only single-bit errors but also single clusters of multiple adjacent-bit errors.
Some disk array controllers made by Compaq Computer Corporation, such as those sold with the SMART2 disk array controllers, use an ECC algorithm (referred to as the SMART2 ECC algorithm) that protects 64 bits of data with 16 check bits. The SMART2 ECC code can detect and correct errors in 8 adjacent data bits within a single byte. The SMART2 ECC code was implemented to protect data written into and read from write cache buffers in the disk array controller.